import request from '@/utils/request'

// 查询计量单位列表
export function listUnit(query) {
  // 确保query参数存在
  const safeQuery = query || {};
  
  // 由于后端使用startPage()方法获取分页参数，必须以固定方式传递
  // 若依后端的startPage()使用pageNum和pageSize作为参数名称
  const pageNum = parseInt(safeQuery.pageNum) || 1;
  const pageSize = parseInt(safeQuery.pageSize) || 10;
  
  console.log("API方法收到分页参数: pageNum=" + pageNum + ", pageSize=" + pageSize);
  
  // 构建API请求参数
  const params = { ...safeQuery };
  
  
  // 移除可能导致问题的参数
  delete params.pageNum;
  delete params.pageSize;
  
  console.log("API方法构建的请求参数:", JSON.stringify(params));
  
  // 使用若依框架的正确参数名称
  // 使用URL参数方式传递分页参数，避免与请求体冲突
  return request({
    url: '/ldzl-basic/units/list',
    method: 'post',
    // 必须添加params参数，而不是放在data中，因为startPage()会从params中获取分页信息
    params: {
      pageNum: pageNum,
      pageSize: pageSize
    },
    // 业务数据保持在body中
    data: params
  })
}



// 新增计量单位
export function addUnit(data) {
  return request({
    url: '/ldzl-basic/units',
    method: 'post',
    data: data
  })
}

// 修改计量单位
export function updateUnit(data) {
  return request({
    url: '/ldzl-basic/units',
    method: 'put',
    data: data
  })
}

// 删除计量单位
export function delUnit(id) {
  return request({
    url: '/ldzl-basic/units/dp/' + id,
    method: 'put'
  })
}

// 批量删除计量单位
export function delUnits(ids) {
  return request({
    url: '/ldzl-basic/units/batch/' + ids,
    method: 'put'
  })
}

// 获取所有计量单位（用于下拉列表）
export function listAllUnits() {
  return request({
    url: '/ldzl-basic/units/listAll',
    method: 'get'
  })
}



